Today, earlier than most expected, we are experiencing the next major advancement in communications. The forthcoming B-ISDNs will make it possible to exchange new bandwidth-intensive applications and to provide integrated broadband services such as high-speed-data service, video phone, video conferencing, remote medical imaging, interactive multimedia, CATV services, etc. One of the enabling technologies may be ATM, and it will provide a dramatic improvement in the way we share information.
ATM addresses carrier's needs to efficiently move all types of information from one place to another across a shared transport medium. ATM's efficiencies can be attributed primarily to two characteristics: fixed cell length and logical networking. The ATM cell is the basic unit of information transfer in the B-ISDN ATM protocol. The cell is comprised of 53 bytes. Five of the bytes make up the header field and the remaining 48 bytes form the user information field.
The fixed length 53 byte cell enables extremely high switching speeds (above 155 Mbps) and low CDV (Cell Delay Variation). High switching speeds are attainable because ATM switches do not have to be concerned with the length of information cells, and consequently, are not required to interpret both headers and trailers associated with frames. High switching speeds are important in supporting emerging, bandwidth-intensive applications like concurrent engineering and supercomputer connectivity. The absence of variable-length packets in an ATM network is a key factor in eliminating excessive delay variation. Variable-length packet data uses as much bandwidth as possible, momentarily depriving other traffic of bandwidth. This is usually not a problem if all of the traffic on a given facility is bursty data. But if isochronous, timing-sensitive traffic is included, excessive delay variation will occur, causing echoes in voice communications and blips in video conferencing sessions.
The UPC (Usage Parameter Control) and NPC (Network Node Control) do the same job at different interfaces. The UPC function is performed at the User-to-Network Interface (UNI), while the NPC function is performed at the Network Node Interface (NNI). The main purpose of UPC/NPC is to protect the network resources from malicious as well as unintentional misbehavior which can effect QoS (Quality of Service) of other already established connections. Another commonly used name for UPC/NPC is policing since the UPC and NPC perform a role similar to the police in society. The UPC/NPC ensures that bandwidth and buffering resources are fairly allocated among the users according to their traffic contracts.
FIG. 1 is a schematic illustration of typical ATM multiplexing in a UNI. An ATM service multiplexer 10 performs multiplexing of cells from n traffic sources TS1, TS2, . . . , TSn. In an ATM network, excessive reservation of resources by one user affects traffic for other users. So PCR (Peak Cell Rate) or throughput must be policed at the UNI by a UPC 20 in the network to ensure that the negotiated connection parameters per VCC (Virtual Channel Connection) or VPC (Virtual Path Connection) between network and subscriber is maintained by each of the users. Traffic parameters describe the desired throughput and QoS in the negotiated contract. The traffic parameters are to be monitored in real time at the arrival of each cell.
Due to ATM's inherent property to support any bandwidth requirement, an access control scheme is needed to ensure that a user does not exceed his negotiated parameters (e.g., PCR, Cell Delay, Burstiness, etc.). The policing will be an important aspect of the future B-ISDNs based on ATM. In accordance with the policing, non-conforming cells are marked as low priority cells or they are lost. The UPC polices the incoming ATM cells to be transmitted into the ATM network at constant transfer rate, regardless of the burstiness of the incoming cells. CCITT (currently ITU) has standardized two equivalent mechanism for policing; one of them being the Leaky Bucket algorithm. A formal definition of the leaky bucket algorithm is found in the ATM Forum UNI specification or CCITT Recommendation 1.371.
FIGS. 2A and 2B are diagrams for explaining how the leaky bucket controls the traffic. The non-transmitted cells among the incoming cells which burst into UPC must be stored in its leaky bucket(s) due to the transfer rate of the UPC. As implied by the name, a leaky bucket behaves like a bucket with a hole in the bottom that causes it to leak at a certain rate corresponding to a traffic cell rate parameter. If cells flows into the bucket faster than they flow out of the bucket, then the bucket eventually overflows, thereby causing cells to be discarded until there is enough room to accept new cells again. The depth of the bucket corresponds to a traffic parameter or a tolerance parameter. Each cell arrival is analogous to a cup of fluid flow that is poured into one or more buckets for use in conformance checking. The funneling of cell arrival fluid into the bucket(s) is controlled by the Cell Loss Priority (CLP) bit in the ATM cell header. The PCR and SCR (Sustainable Cell Rate) traffic parameters are formally defined in terms of a virtual scheduling algorithm (namely, a leaky bucket algorithm) in ITU/CCITT Recommendation 1.371 and the ATM Forum UNI specification. These parameters are specified either in a signaling message or at subscription time or are implicitly defined by the network according to default rules.
The operation of the leaky bucket is described with reference to FIGS. 2A and 2B for examples of a conforming and non-conforming cell flow. Referring to FIG. 2A, when a burst of cells 30 enters, the UPC checks to see if the entire bucket increment for the incoming cells 30 can be added to the current bucket contents without overflowing. If the bucket 40 would not overflow, then the cells 30 are conforming, otherwise they are non-conforming as shown in FIG. 2B. As shown in the figures, fluid from a cell arrival can be added to the bucket 40 only if the incoming cells are conforming, but the fluid, i.e. the cell data, for non-conforming cells is discarded.
Therefore, if it is desired that all incoming cells be transmitted to the ATM network, the entire cells should be the conforming cells. However, it is not expected that all of the incoming cells will be conforming since a plurality of traffic sources with different traffic parameters are multiplexed in the UNI.